package org.dlsu.mt.parser;

import java.util.Vector;

import org.dlsu.mt.parser.generator.ParseTable;
/**
 * An interface for the type of parser engine for the NLPParser to use.
 * Requires the implementation of the parse(), reset(), setParseTable(), and setLexer() methods.
 */
public interface ParserEngineInterface {
	/**
	 * Parses with the given set of tokens and parse table
	 *
	 * @return A vector or set of accepted syntax trees as Node objects
	 */
	public Vector parse() throws Exception;
	/**
	 * Resets the parser engine
	 */
	public void reset();

	/**
	 * Sets the parse table to use
	 *
	 * @param pt The parse table to use
	 */
	public void setParseTable(ParseTable pt);
	/**
	 * Sets the lexer interface to use
	 *
	 * @param lex The set of tokens or lexical units
	 */
	public void setLexer(LexerInterface lex);
}